//
//  WCNewProjectWindowController.h
//  WabbitCode
//
//  Created by William Towe on 1/7/09.
//  Copyright 2009 Revolution Software. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "WCBuildTarget.h"


extern NSString *kWCNewProjectTemplateInfoShortDescriptionKey;
extern NSString *kWCNewProjectTemplateInfoLongDescriptionKey;
extern NSString *kWCNewProjectTemplateInfoTargetModelKey;
extern NSString *kWCNewProjectTemplateInfoTargetOutputKey;
extern NSString *kWCNewProjectTemplateInfoIconNameKey;
extern NSString *kWCNewProjectTemplateInfoIncludeFilesKey;

@class WCNewProjectOutput;

@interface WCNewProjectWindowController : NSWindowController {
	IBOutlet NSOutlineView *_outlineView;
	IBOutlet NSArrayController *_arrayController;
	IBOutlet NSImageView *_leftSplitterHandleImageView;
	IBOutlet NSView *_gradientBarView;
	
	NSMutableArray *_newProjectCategories;
}

@property (readonly) NSMutableArray *newProjectCategories;

+ (WCNewProjectWindowController *)sharedInstance;

- (void)presentNewProjectWindow;

// for creating new projects with an output template
- (BOOL)createNewProjectAtPath:(NSString *)path withOutput:(WCNewProjectOutput *)output error:(NSError **)error;

// for creating new projects from an existing folder of files
- (BOOL)createNewProjectAtPath:(NSString *)path forTargetModel:(WCBTModel)model targetOutputType:(WCBTOutputType)outputType mainAssemblyFilePath:(NSString *)mainAssemblyFilePath usingEncoding:(NSStringEncoding)encoding error:(NSError **)error;

- (IBAction)createNewProjectFromFolderAction:(id)sender;

@end
